Adjusting time metadata of digital media items

ABSTRACT

Methods, apparatuses, and systems for adjusting time metadata of digital media items. A digital image captured at a location is associated with a time of capture and a location of capture. It is determined that a time of capture of the digital image is in a preset time zone that is different from a time zone of the location. In response to the determining, multiple locations are provided, each being associated with a respective time zone including a time zone of the location. A selection of a location is received and the time of capture is adjusted based on a time zone associated with the selected location.

CROSS REFERENCE TO RELATED APPLICATIONS

This Application is a continuation of U.S. application Ser. No.12/617,478 entitled “ADJUSTING TIME METADATA OF DIGITAL MEDIA ITEMS”filed Nov. 12, 2009, which is incorporated by reference in its entiretyherein.

BACKGROUND

This specification describes editing digital media items, for example,based on the metadata associated with the digital media items.

Digital media items, for example, digital images, video, audio, and thelike, can be captured using various devices, such as digital cameras,digital video recorders, as well as mobile communication devices thatincorporate the features of cameras and video recorders. When a captureddigital media item is stored, metadata can be associated with thecaptured item. For example, when a digital image is captured, the imageis stored on a data storage device as a data file to which an image nameis associated. The name of the data file is stored on the data storagedevice as image data file metadata. Metadata can additionally camerasettings, data and time of capture, and the like. In some scenarios, auser of the digital camera can travel to different geographic locationsand can capture images at each of these locations. Subsequently, whenthe user imports the images from the digital camera to a computer, forexample, a desktop computer, the associated metadata is imported alongwith the images for storage on the computer.

SUMMARY

This specification describes technologies relating to adjusting timemetadata of digital media items.

In general, an innovative aspect of the invention described here can beimplemented as a system that includes an image receiver configured toreceive a digital image that includes image data and metadata thatincludes a time of capture of the digital image. The time of capturelies within a preset time zone. The system includes a location receiverconfigured to receive location information identifying a location. Thelocation information includes a time of recording of the locationinformation and a reference time zone of the time of recording. Thesystem further includes a processor operatively coupled to the imagereceiver and the coordinates receiver. The processor is configured todetect an assignment of the digital image to the location. The systemalso includes a comparison unit configured to determine if the presettime zone is different from the reference time zone. The processor isfurther configured to display a message indicating a conflict betweenthe time of capture and the time of recording on a display deviceoperatively coupled to the processor, upon determining that the presettime zone is different from the reference time zone.

This, and other aspects, can include one or more of the followingfeatures. The preset time zone can be associated with the digital imagein response to input. The processor can be associated with the presettime zone. The processor can be configured to associate the time ofcapture with the preset time zone. The processor can further beconfigured to transmit the location information to a time zone databaseoperatively coupled to the processor. The time zone database can beconfigured to store time zones defined for planet earth and locationinformation of locations that lie in each of the stored time zones. Theprocessor can further be configured to receive, from the time zonedatabase, a time zone in which the transmitted location informationlies, to adjust the time of capture of the digital image based on thereceived time zone.

To adjust the time of capture of the digital image based on the receivedtime zone, the processor can further be configured to determine adifference between the received time zone and the preset time zone, andoffset the time of capture by the difference. To offset the time ofcapture by the difference, the processor can be configured to add thedifference to the time of capture. The processor can further beconfigured to receive input to resolve the conflict between the time ofcapture and the time of recording. The system further includes a timezone database operatively coupled to the processor, the time zonedatabase configured to store time zones defined for planet earth andlocation information of locations that lie in each of the stored timezones.

Another innovative aspect of the invention described here can beimplemented as a computer-implemented method that includes receiving, bydata processing apparatus, a digital image captured at a location. Themethod includes determining, by the data processing apparatus, that atime of capture associated with the digital image is in a preset timezone that is different from a time zone of the location in which thedigital image was captured. The digital image is associated with thetime of capture. The method includes, providing, by the data processingapparatus, multiple locations, each being associated with a respectivetime zone, in response to the determining. The multiple locationsinclude the location in which the digital image was captured. The methodincludes receiving, by the data processing apparatus, a selection of alocation from the provided plurality of locations, and adjusting, by thedata processing apparatus, the time of capture associated with thedigital image based on a time zone associated with the selectedlocation.

This, and other aspects, can include one or more of the followingfeatures. Receiving the digital image captured at a location can includereceiving the digital image from an image capture device, receivinglocation information identifying the location from a location capturedevice, and associating the digital image with the location. The digitalimage can be associated with the location in response to user input. Thelocation information can include global positioning system (GPS)coordinates identifying the location. Associating the digital image withthe location can include storing the GPS coordinates as digital imagemetadata that includes the time of capture.

The location of capture can be defined by global positioning system(GPS) coordinates recorded at the location. The GPS coordinates caninclude a GPS time at which the GPS coordinates are recorded.Determining that the time of capture associated with the digital imageis in a time zone that is different from a time zone of the location inwhich the digital images captured can further include transmitting theGPS coordinates recorded at the location to a time zone database thatstores GPS coordinates of all locations defined on planet Earth andassociated time zones in which each of the GPS coordinates are located,receiving, from the time zone database, a time zone associated with theGPS coordinates recorded at the location, and comparing the receivedtime zone with the preset time zone.

Providing the plurality of locations are arranged in a hierarchy oflocations having planet Earth as a root location and geographicallocations on planet Earth as node locations. A node location canrepresent a continent and children locations of the node locationrepresent collections of one or more countries in the continent. Thecollections can represent corresponding time zones defined for planetEarth. Each collection can be associated with a corresponding cluster ofGPS coordinates that collectively identify the one or more countries inthe collection. Providing the plurality of locations can includeproviding a control for each collection. Receiving a selection of alocation can further include receiving a selection of a control providedfor a collection. The method can further include transmitting GPScoordinates that collectively identify the one or more countries in thecollection to a time zone database that stores time zones defined forall geographic locations on planet Earth. Adjusting the time of captureassociated with the digital image based on a time zone associated withthe selected location can further include receiving, from the time zonedatabase, a time zone defined for the one or more countries in thecollection, and comparing the received time zone with the preset timezone. Adjusting the time of capture associated with the digital imagecan further include determining a difference between the time zone thatis associated with the digital image and the time zone of the locationin which the digital image was captured, and offsetting the time ofcapture by the difference.

The time of capture and the location of capture can be associated withthe image as metadata. Time metadata representing the time of captureand location metadata representing the location of capture can beassociated with the digital image separately. Time metadata representingthe time of capture and location metadata representing the location ofcapture can be associated with the digital image simultaneously.

More innovative aspects of the invention described here can beimplemented in a computer-readable medium, tangibly encoding softwareinstructions, executable by data processing apparatus to perform thecomputer-implemented method described above. Additional innovativeaspects of the invention described here can be implemented in a systemthat includes data processing apparatus and the computer-readable mediumdescribed previously.

Particular implementations of the subject matter described in thisspecification can be implemented to realize one or more of the followingpotential advantages. When a user captures digital images at ageographic location that lies in a time zone that is different from thetime zone in which the user resides, the systems and techniquesdescribed here can adjust the time of capture of the digital imagesbased on the time zone in which the user resides. The adjustments can beperformed automatically, i.e., upon obtaining an association between adigital image and a geographic location and determining that a time zonein which the digital image was captured is different from the time zonein which geographic location information was captured. In addition, theadjustments can be made in response to user input, for example, byproviding a conflict message indicating a difference between time zonesto a user, and receiving input from the user to adjust time zones toresolve the conflict.

The details of one or more implementations of the specification are setforth in the accompanying drawings and the description below. Otherfeatures, aspects, and advantages of the specification will becomeapparent from the description, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an example of a system for presenting digital media items.

FIG. 2 is an example of a time manager for adjusting time metadata ofdigital media items.

FIGS. 3A and 3B are examples of user interfaces displaying controls toassign a geographic location and time zone to a digital image.

FIG. 4 is an example of a time manager for prompting a user to adjusttime associated with a digital image.

FIG. 5 is an example of a time manager for receiving digital media itemsto which time and geographic location information have been associated.

FIG. 6 is a flowchart of an example process for adjusting the time ofcapture associated with a digital media item.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

Methods, apparatuses, and systems for adjusting time metadata of digitalmedia items are described. The metadata of digital media items, forexample, digital images, can include a time of capture and a geographiclocation of capture. For example, digital images captured using a cameraare associated with corresponding time metadata representing times ofcapture. The digital images captured can also be associated withcorresponding geographic locations metadata representing locations ofcapture, which can be obtained, for example, using global positioningsystem (GPS) devices. Depending upon the geographic location on planetEarth in which the computer system is located, time zones in whichimages are captured can be different from the preset time zone. Usingthe techniques described with reference to the following figures, thetime metadata associated with the digital images can be adjusted tocorrespond to the time zone in which the digital images were capturedusing the geographic locations metadata. An example of a system fordoing so is described with reference to FIG. 1.

FIG. 1 is an example of a system 100 for presenting digital media items.The system 100 includes a time manager 112 operatively coupled to adisplay device 114 and one or more input devices 116. In someimplementations, the time manager 112 is a computer, for example, adesktop computer, a laptop computer, a personal digital assistant (PDA),a mobile communication device, and the like, operatively coupled to adisplay device 114, for example, a liquid crystal display (LCD) operableusing input devices 116 such as a keyboard, a mouse, a stylus, atouchscreen, a touchpad, and the like. The system 100 is operativelycoupled to a digital media capture device 118 through one or more wiredor wireless networks 120, for example, a Local Area Network (LAN), aWide Area Network (WAN), a wireless network, Bluetooth, the Internet,and the like.

The system 100 is also operatively coupled, through the networks 120, toa location capture device 122 configured to capture geographic locationinformation. For example, the location capture device 122 is a GPSsystem configured to interact with a satellite 124 to obtain latitude,longitude, and altitude coordinates of a geographic location at whichthe location capture device 122 is positioned, and a time at which thecoordinates are captured. Additionally, the system 100 is operativelycoupled to a time zone database 126. The time zone database 126 includesall the time zones defined for planet Earth and the geographic locationinformation of all the locations within each time zone. For example, thetime zone database 126 includes the Pacific Standard Time (PST) zone andall regions in the United States, including the state of California towhich the PST zone is associated. In some implementations, the time zonedatabase 126 resides on a storage device, for example, storage device132. Alternatively, the time zone database 126 resides on an externalstorage device that is operatively coupled to the time manager 112either directly or through the networks 120.

In some scenarios, the digital media capture device 118 is used tocapture multiple digital media items, for example, digital images, andto store the items on a digital media storage 128. The device 118associates a time of capture to each digital image as metadata, andstores the metadata on the storage 128. Often, a preset time zone, beingthe time zone in which a camera user resides, is established for thecamera. Subsequently, regardless of a time zone in which the usercaptures a digital image, a time associated with the captured image isin the preset time zone. For example, if the preset time zone is PST,and an image is captured in GMT, the time associated with the storedimage is still in PST. Using known techniques, the time manager 112 canimport the digital images and the associated time metadata from thedigital media capture device 118 to a storage device 132 operativelycoupled to the time manager 112, for example, a hard disk.

In some implementations, a location capture device 122 is used tocapture the geographic location information, for example, GPScoordinates. For example, a user positioned at a particular geographiclocation and/or traveling across multiple geographic locations can carrythe location capture device 122, which captures GPS coordinatesidentifying each geographic location. Typically, the time of capture isin a reference time zone, for example, the GMT time zone. The GPSinformation and the time that are captured can be stored on a locationstorage 130 that is operatively coupled to the location capture device122. The time manager 112 can import the GPS coordinates and the time ofcapture from the location storage 130 to the storage device 132.

If a user uses the digital media capture device 122 and the locationcapture device 122 simultaneously, then as the user captures and storesdigital media items, for example, digital images, the user also recordslocations of capture. Once imported, a user can associate the digitalimage with the location of capture. To do so, in some implementations,the GPS information can be used to generate a track path 136 includingmultiple points, each representing a location at which GPS coordinateswere captured. For example, on a world map displayed in the userinterface 134, the track path 136 can be displayed as a line. The usercan select and associate a point on the track path 136 with a digitalimage. Doing so causes the selected image to be displayed as a solidcircle 138 on the selected point in the track path 136. When the userassociates a digital image with a geographic location, in this manner,the time manager 112 includes the GPS coordinates included with thegeographic location to the metadata associated with the digital image.Thus, for each image, I₁, the time manager 112 generates a mapping to alocation, I₁, a time zone, TZ₁, and a time of capture, t₁.

Because the GPS coordinates include a time of capture that is in areference time zone, for example, GMT, and because the time of captureis in a preset time zone, conflicts can arise if the preset time zonedoes not match the reference time zone. The time zone database 126 canbe used to resolve such conflicts. The time zone database 126 includesall the time zones that are defined on planet Earth and geographiclocation information of all the locations within each time zone. In someimplementations, the geographic location information can include GPScoordinates including a latitude, longitude, and an altitude of eachgeographic location. In some implementations, the time zones andrespective geographic location information can be generated by a reversegeo-coding process and stored in a lookup table. Each row of the tablecan include a time zone and GPS coordinates of all locations that liewithin.

In some implementations, the time manager 112 provides the locationmetadata including GPS coordinates associated with a digital image tothe time zone database 126, and receives, in response, a time zone inwhich the GPS coordinates were captured. In implementations in which thetime zone database 126 is resides in the time manager 112, the locationmetadata including the GPS coordinates need not be transmitted to alocation external to the time manager 112 to obtain the time zone inwhich the GPS coordinates were captured. The time manager 112 resolvesthe conflict in time zones by adjusting the time of capture of thedigital image based on a difference between the preset time zone and thetime zone received from the time zone database 126. Techniques for doingso are described with reference to FIG. 2.

FIG. 2 is an example of a time manager 112 configured to adjust timemetadata of digital media items. The digital media items, for example,digital images, can be stored as data files 210 on the digital mediastorage 128. The time manager 112 can include an image receiver 202 toreceive the data files 210, either collectively or individually, usingknown file-import operations. The storage device 132 stores each datafile 210 that includes image information, for example, pixel data of thedigital image, and associated metadata including time metadata. In someimplementations, the time manager 112 can include a GPS coordinatesreceiver 204 to receive the GPS coordinates and time of location capturefrom the location storage 130. The storage device can store thegeographic location information in a same format as the location storage130, for example, in a table.

The time manager 112 can include a time zone transceiver 206 that isconfigured to transmit a request to the time zone database 126 thatincludes GPS coordinates of a particular location or a range of GPScoordinates representing a collection of locations or both. In responseto the request, the time manager 112 can receive a time zone stored inthe table. For example, if the time manager 112 transmits GPScoordinates of a location in San Francisco, Calif., then the timemanager 112 can return the Pacific Standard Time zone. Also, if the timemanager 112 transmits a range of GPS coordinates representing all ofCalifornia, then the time manager 112 can return the Pacific StandardTime zone. If the time manager 112 transmits coordinates of the UnitedStates of America (USA), then the time zone database 126 can provide allfour time zones defined for USA.

The time manager 112 includes a comparison unit 208 configured tocompare the time of capture included in the digital image metadata withthe time included with the GPS coordinates metadata of the location towhich the digital image has been assigned. If the times match, then thedata processing unit 112 can retain the previously associated time astime metadata. If not, then the time manager 112 can obtain new timemetadata for the digital image based on the GPS coordinates, from thetime zone database 126. Doing so involves user-interface operations thatare described with reference to FIG. 3.

FIGS. 3A and 3B are examples of user interfaces displaying controls toassign a digital image to a geographic location. The time manager 112displays a map of planet Earth in the user interface 134. The map can bezoomed in and zoomed out to display portions of planet Earth selected bya user. The time manager 112 can display a track path 136 includingmultiple points representing locations at which the GPS coordinates werecaptured in the user interface 134. A user assigns a digital image to apoint on the track path representing a location at which the digitalimage was captured. As shown in FIG. 3A, the time manager 112 displays asolid circle 138 representing the digital image at the point on thetrack path 136. Also, the time manager 112 includes the GPS coordinatesof the location to the metadata associated with the digital image. Thetime manager 112 further accesses time zones from the time zone database126.

In some implementations, the time manager 112 provides functionalitiesthat allow a user to alter the time of capture to correspond to a timezone of the location of capture. To do so, in response to a selection ofthe digital image (circle 138) by the user using a cursor 305, the timemanager 112 displays a control 310 in the user interface 134. In adefault implementation, the time manager 112 displays “No selection” ora similar message in the control 310 indicating that the time of captureassociated with the digital image has not been changed. To change thetime of capture, the time manager 112 displays selectable controls inthe user interface 134.

In some implementations, the control 310 can be a drop-down boxaccessible using a second control 315. As shown in FIG. 3B, when theuser selects the second control 315, multiple selectable controls 320,325, 330, 335, and 340 can be displayed in the user interface 134, fromexample, below the control 310. In some implementations, the timemanager 112 can display, in each of the displayed controls, a name of ageographic location on planet Earth. Each control can represent either acollection of locations or a single location on planet Earth. Forexample, control 320, which displays “Africa,” can represent all thecountries in the African continent. When a user selects control 320, thetime manager 112 can display additional controls 342, 344, 346, and 348,each of which is a geographic location in Africa. The geographiclocations displayed in FIG. 3B are representative locations and are notexhaustive.

To display the controls, the time manager 112 stores a hierarchy oflocations, for example, in a tree structure, in which planet Earth is aroot location, countries are children locations, and continents areintermediate node locations. Alternatively, in addition, the hierarchyof locations can be created with further granularity to include statesand cities in each country. When a user selects one of the controlsdisplaying a location, the time manager 112 can display additionalcontrols, each displaying the children locations of the selectedlocation. Eventually, the time manager 112 can display the childrenlocations, each of which falls within a time zone defined on planetearth.

Each of the controls that displays geographic location are associatedwith corresponding GPS coordinates or range of GPS coordinates. Forexample, control 348 that displays “Harare (CAT)” is associated with arange of GPS coordinates that lie within Harare, Zimbabwe, Africa. Ifthe user captured the digital image in Harare, then the user selectsHarare. In response to the selecting, the time manager 112 adjusts thetime of capture of the digital image based on the time zone associatedwith Harare.

To do so, the time manager 112 transmits the range of GPS coordinatesassociated with the selected control 348 to the time zone database 126.In response, the time zone database 126 provides a time zone of the GPScoordinates in the range. For example, if all GPS coordinates in therange lie in the same time zone, then the time zone database 126 returnsone time zone to the time manager 112. The time manager 112 determines adifference between the time zone received from the time zone database126 and the preset time zone, and offsets the time of capture associatedwith the digital image by the difference. For example, if the presettime zone is Pacific standard Time and the selected time zone is Easternstandard Time, then the time manager 112 determines a difference ofthree hours between the two time zones, and subtracts three hours fromthe time of capture associated with the digital image. In this manner,rather than requiring a user to know a time zone in which the image wascaptured, the time manager 112 allows the user to adjust time of capturebased on the location in which the user captured the image. To do so,the time manager 112 utilizes the time zones stored in the time zonedatabase 126.

In this manner, in response to user input that associates a geographiclocation with a digital image, the time manager 112 can adjust the timeof capture associated with the digital image to fall in the time zone inwhich the geographic location is located. Subsequently, the time manager112 can associate and store the adjusted time with the digital image astime metadata. In some implementations, the time manager 112 can storethe adjusted time as supplemental time metadata such that the time ofcapture that was assigned to the image upon capture is also retained.Alternatively, the time manager 112 can override the time metadataassociated with the image upon capture with the adjusted time metadata.In some scenarios, as described with reference to FIG. 4, the timemanager 112 can provide a user with an option to change time metadataassociated with digital media items.

FIG. 4 is an example of a time manager 112 for prompting a user toadjust time associated with a digital image. In some implementations,upon adding the GPS coordinates metadata to the digital media itemmetadata, the time manager 112 can transmit the GPS coordinates to thetime zone database 126 and obtain a time zone in which the locationrepresented by the GPS coordinates is located. The time manager 112 cancompare the time zone received from the time zone database 126 to a timezone in which the time of capture of the digital media item falls. Upondetermining that the two time zones conflict, the time manager 112 candisplay a conflict message in a text box 405 in the user interface 134.In addition, the time manager 112 can display a message asking the userto fix the conflict.

If the user selects “YES” 410 to fix the conflict, then the time manager112 can determine a difference between the time zone received from thetime zone database 126 and the time zone of the digital media item, andadjust the time of capture based on the difference. Alternatively, ifthe user selects “NO” 415, then the time manager 112 does not performany operations to adjust the time of capture. In alternativeimplementations, if the user selects “NO” 415, then rather thanautomatically adjusting the time of capture, the time manager 112 canenable the user to perform the techniques described above to manuallyadjust the time of capture.

FIG. 5 is an example of a time manager 112 for receiving digital mediaitems to which time and geographic location information have beenassociated. In some implementations, the time manager 112 detectsconnections to a digital media capture device 502 and a location capturedevice 504. If the digital media capture device 502 and the locationcapture device 504 are additionally connected to each other, then thetime manager 112 causes the location capture device 504 to transmit thegeographic location information, for example, GPS coordinates, stored inthe location storage 506, to the digital media storage 508 in thedigital media capture device 502. Subsequently, the time manager 112receives both the time of capture metadata and the GPS coordinates fromthe digital media capture device 502.

FIG. 6 is a flowchart of an example process 600 for adjusting the timeof capture associated with a digital media item. The process 600receives a digital media item captured at a location (605). The process600 checks for a time conflict. A conflict exists when a time of captureassociated with the digital media item is in a time zone that isdifferent from a time zone of the location in which the digital imagewas captured. If a conflict exists, then the process 600 providesmultiple locations associated with corresponding multiple time zones(615). The process 600 receives a selection of a location from theprovided multiple locations (620). The process 600 transmits geographiclocation information of the selected location to a time zone database(625). The process 600 receives the time zone in which the selectedlocation is located from the time zone database 630. The process 600determines the difference between the received time zone and time zoneassociated with the digital media item (635). The process 600 offsetsthe time of capture by the difference (640). If the process 600determines that there is no conflict (610), then the process retains thetime of capture of the digital media item (645).

Embodiments of the subject matter and the operations described in thisspecification can be implemented in digital electronic circuitry, or incomputer software, firmware, or hardware, including the structuresdisclosed in this specification and their structural equivalents, or incombinations of one or more of them. Embodiments of the subject matterdescribed in this specification can be implemented as one or morecomputer programs, i.e., one or more modules of computer programinstructions, encoded on computer storage medium for execution by, or tocontrol the operation of, data processing apparatus.

A computer storage medium can be, or be included in, a computer-readablestorage device, a computer-readable storage substrate, a random orserial access memory array or device, or a combination of one or more ofthem. The computer storage medium can also be, or be included in, one ormore separate physical components or media (for example, multiple CDs,disks, or other storage devices).

The operations described in this specification can be implemented asoperations performed by a data processing apparatus on data stored onone or more computer-readable storage devices or received from othersources.

The term “data processing apparatus” encompasses all kinds of apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The apparatus can includespecial purpose logic circuitry, for example, an FPGA (fieldprogrammable gate array) or an ASIC (application specific integratedcircuit). The apparatus can also include, in addition to hardware, codethat creates an execution environment for the computer program inquestion, for example, code that constitutes processor firmware, aprotocol stack, a database management system, an operating system, across-platform runtime environment, a virtual machine, or a combinationof one or more of them. The apparatus and execution environment canrealize various different computing model infrastructures, such as webservices, distributed computing and grid computing infrastructures.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (for example, one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (for example, files that store one or moremodules, sub programs, or portions of code). A computer program can bedeployed to be executed on one computer or on multiple computers thatare located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform actions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and an apparatus can also be implemented as, special purpose logiccircuitry, for example, an FPGA (field programmable gate array) or anASIC (application specific integrated circuit).

The processes and logic flows can further be implemented by one systemof one or more computers to execute another system of one or morecomputers over one or more wired or wireless networks, such as theInternet. For example, the processes and logic flows can be encoded asone or more computer programs on computer-readable media, which areexecuted by the other system to perform the processes.

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data, for example, magnetic, magneto optical disks, or opticaldisks. However, a computer need not have such devices.

Devices suitable for storing computer program instructions and datainclude all forms of non volatile memory, media and memory devices,including by way of example semiconductor memory devices, for example,EPROM, EEPROM, and flash memory devices; magnetic disks, for example,internal hard disks or removable disks; magneto optical disks; and CDROM and DVD-ROM disks. The processor and the memory can be supplementedby, or incorporated in, special purpose logic circuitry.

To provide for interaction with a user, embodiments of the subjectmatter described in this specification can be implemented on a computerhaving a display device, for example, a CRT (cathode ray tube) or LCD(liquid crystal display) monitor, for displaying information to the userand a keyboard and a pointing device, for example, a mouse or atrackball, by which the user can provide input to the computer. Otherkinds of devices can be used to provide for interaction with a user aswell; for example, feedback provided to the user can be any form ofsensory feedback, for example, visual feedback, auditory feedback, ortactile feedback; and input from the user can be received in any form,including acoustic, speech, or tactile input. In addition, a computercan interact with a user by sending documents to and receiving documentsfrom a device that is used by the user; for example, by sending webpages to a web browser on a user's computing device in response torequests received from the web browser.

Embodiments of the subject matter described in this specification can beimplemented in a computing system that includes a back end component,for example, as a data server, or that includes a middleware component,for example, an application server, or that includes a front endcomponent, for example, a client computer having a graphical userinterface or a Web browser through which a user can interact with animplementation of the subject matter described in this specification, orany combination of one or more such back end, middleware, or front endcomponents. The components of the system can be interconnected by anyform or medium of digital data communication, for example, acommunication network. Examples of communication networks include alocal area network (“LAN”) and a wide area network (“WAN”), aninter-network (for example, the Internet), and peer-to-peer networks(for example, ad hoc peer-to-peer networks).

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. In someembodiments, a server transmits data (for example, an HTML page) to acomputing device (for example, for purposes of displaying data andreceiving user input from a user interacting with the computing device).Data generated at the computing device (for example, a result of theuser interaction) can be received from the computing device at theserver.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyinventions or of what may be claimed, but rather as descriptions offeatures specific to particular embodiments of particular inventions.Certain features that are described in this specification in the contextof separate embodiments can also be implemented in combination in asingle embodiment. Conversely, various features that are described inthe context of a single embodiment can also be implemented in multipleembodiments separately or in any suitable subcombination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular embodiments of the subject matter have been described.Other embodiments are within the scope of the following claims. In somecases, the actions recited in the claims can be performed in a differentorder and still achieve desirable results. In addition, the processesdepicted in the accompanying figures do not necessarily require theparticular order shown, or sequential order, to achieve desirableresults. In certain implementations, multitasking and parallelprocessing may be advantageous.

In some implementations, the time manager can transmit the time zone ofa geographic location to which a digital image has been associated, anda preset time zone to the time zone database 126. The time zone database126 can compare the two time zones and return a difference between thetwo to the time manager 112. The data processing apparatus 112 canadjust the time metadata of the digital image based on the returneddifference.

In some implementations, the hierarchy of locations can be based on timezones grouped by geographic regions. In such a hierarchy, planet Earththat includes all time zones, is the root location, various continents,each grouping multiple time zones are children locations of the rootlocation, and geographic locations within each continent that eithergroup subsets of time zones represented by the continent or thatindividually represent a time zone are a next level in the hierarchy.For example, “North America” can be a node location that is in a levelbelow “Earth,” and “East,” “West,” “Mountain,” and “Central” can be fourgeographic regions, each representing “EDT,” “PDT,” “MDT,” and “CDT,”respectively.

In some implementations, the time manager 112 can display a control 350displaying “GMT” that represents Greenwich Mean Time, and a control 355displaying “UTC” that represents Coordinated Universal Time in the userinterface 134. When the user positions the cursor on control 350, thetime manager 112 can display multiple selectable controls 360, eachrepresenting an hourly deviation from GMT. For example, the multiplecontrols can display “GMT+1,” “GMT+2,” “GMT+3,” and the like, eachrepresenting an offset from GMT. To determine a difference between theselected time zone and the preset time zone, the time manager 112 canconvert the time of capture associated with the digital image to GMT andsubsequently determine a difference between GMT and the selected timezone. Similar operations can be performed when the control 355displaying “UTC” is selected.

In some implementations, the time manager 112 can be a server that isoperatively coupled, through the networks, for example, the Internet, toa computer to which the display device and the input devices arecoupled. The digital media capture device 118, the location capturedevice 122, and the time zone database 126 can also be operativelycoupled to the server through the Internet. The server can be configuredto receive input from the computer, for example, input assigning adigital image to a location, and in response, can cause the computer toadjust the time of capture of the digital image using techniquesdescribed above.

What is claimed is:
 1. A system comprising: an image receiver configuredto receive a digital image, including a time of capture of the digitalimage corresponding to a preset time zone; a location receiverconfigured to receive location information identifying a location,including a time of recording of the location information correspondingto a reference time zone; a comparison unit configured to compare thepreset time zone with the reference time zone; and a processoroperatively coupled to the image receiver and the location receiver, theprocessor configured to detect an assignment of the digital image to thelocation; and generate an indication of a time zone conflict, responsiveto the comparison by the comparison unit.
 2. The system of claim 1,wherein the preset time zone is associated with the digital image inresponse to input.
 3. The system of claim 1, wherein the processor isassociated with the preset time zone, and wherein the processor isconfigured to associate the time of capture with the preset time zone.4. The system of claim 1, wherein the processor is further configuredto: transmit the location information to a time zone databaseoperatively coupled to the processor, the time zone database configuredto store time zones and location information of locations that lie ineach of the stored time zones; receive, from the time zone database, atime zone in which the transmitted location information lies; and adjustthe time of capture of the digital image based on the received timezone.
 5. The system of claim 4, wherein to adjust the time of capture ofthe digital image based on the received time zone, the processor isfurther configured to: determine a difference between the received timezone and the preset time zone; and offset the time of capture by thedifference.
 6. The system of claim 5, wherein to offset the time ofcapture by the difference, the processor is configured to add thedifference to the time of capture.
 7. The system of claim 1, wherein theprocessor is further configured to display a message indicating aconflict between the time of capture and the time of recording on adisplay device operatively coupled to the processor, upon determiningthat the preset time zone is different from the reference time zone, andwherein the processor is further configured to receive input to resolvethe conflict between the time of capture and the time of recording. 8.The system of claim 1, further comprising a time zone databaseoperatively coupled to the processor, the time zone database configuredto store time zones and location information of locations that lie ineach of the stored time zones.
 9. A computer-implemented methodcomprising: receiving, by data processing apparatus, a digital imagecaptured at a first location at a time of capture in a preset time zone;determining, by the data processing apparatus, that the preset time zoneis different from a time zone of the first location; providing, by thedata processing apparatus, a plurality of locations, each associatedwith a respective time zone; receiving, by the data processingapparatus, a selection of a second location from the provided pluralityof locations; and adjusting, by the data processing apparatus, the timeof capture based on the time zone associated with the second location.10. The method of claim 9, wherein receiving the digital image capturedat a first location comprises: receiving the digital image from an imagecapture device; receiving location information identifying the firstlocation from a location capture device; and associating the digitalimage with the first location.
 11. The method of claim 10, wherein thelocation information includes geographic coordinates identifying thefirst location, and wherein associating the digital image with the firstlocation comprises: storing the geographic coordinates as digital imagemetadata that includes the time of capture.
 12. The method of claim 9,wherein the first location is defined by geographic coordinates recordedat the first location, wherein the geographic coordinates include a timeat which the geographic coordinates were recorded, wherein determiningthat the preset time zone is different from a time zone of the firstlocation further comprises: transmitting the geographic coordinatesrecorded at the first location to a time zone database; receiving, fromthe time zone database, a time zone associated with the geographiccoordinates recorded at the first location; and comparing the receivedtime zone with the preset time zone.
 13. The method of claim 9, whereinthe plurality of locations are arranged in a hierarchy of locations. 14.The method of claim 9, wherein adjusting the time of capture comprises:determining a difference between the time zone that is associated withthe digital image and the time zone of the first location; andoffsetting the time of capture by the difference.
 15. A non-transitorycomputer-readable medium, on which are stored software instructions,executable by data processing apparatus to perform operationscomprising: receiving a digital image captured at a first location at atime of capture; determining that the time of capture is in a presettime zone that is different from a time zone of the first location;providing a plurality of locations, each associated with a respectivetime zone; receiving a selection of a second location from the providedplurality of locations; and adjusting the time of capture based on atime zone associated with the second location.
 16. The medium of claim15, wherein receiving the digital image captured at a first locationcomprises: receiving the digital image from an image capture device;receiving location information identifying the first location from alocation capture device; and associating the digital image with thefirst location.
 17. The medium of claim 16, wherein associating thedigital image with the first location is in response to user input. 18.The medium of claim 16, wherein associating the digital image with thefirst location comprises storing global positioning system coordinatescorresponding to the first location as digital image metadata thatincludes the time of capture.
 19. The medium of claim 15, wherein thefirst location is defined by geographic coordinates recorded at thefirst location, including a time at which the coordinates are recorded,wherein determining that the time of capture is in a preset time zonethat is different from a time zone of the first location furthercomprises: transmitting the coordinates to a time zone database thatstores coordinates of locations and associated time zones; receiving,from the time zone database, a time zone associated with the coordinatesrecorded at the location; and comparing the received time zone with thepreset time zone.
 20. The medium of claim 15, wherein providing theplurality of locations are arranged in a hierarchy of locations, andwherein a node location represents a continent and children locations ofthe node location represent collections of one or more countries in thecontinent, the collections representing corresponding time zones, eachcollection associated with a corresponding cluster of coordinates thatcollectively identify the one or more countries in the collection. 21.The medium of claim 20, wherein the operations further comprise:transmitting geographic coordinates that collectively identify the oneor more countries in the collection to a time zone database.
 22. Themedium of claim 21, wherein adjusting the time of capture based on atime zone associated with the second location further comprises:receiving, from the time zone database, a time zone defined for the oneor more countries in the collection; and comparing the received timezone with the preset time zone.
 23. The medium of claim 15, adjustingthe time of capture associated with the digital image further comprises:determining a difference between the time zone that is associated withthe digital image and the time zone of the first location; andoffsetting the time of capture by the difference.